  // 验证字符串是否电话号
  function checkTel(str) {
    let re = /^\d{3}-\d{8}|\d{4}-\d{7}$/;
    if (re.test(str)) {
        return true;
    } else {
        return false;
    }
  }
  //验证非负浮点数值
  function checkNum(str){
      let re=/^\d+(\.\d+)?$/;
      if (re.test(str)) {
          return true;
      } else {
          return false;
      }
  }
  //验证营业执照或证件三合一
  function checkCard(str){
      let re=/(^(?:(?![IOZSV])[\dA-Z]){2}\d{6}(?:(?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/;
      if (re.test(str)) {
          return true;
      } else {
          return false;
      }
  }
  //验证大陆身份证
  let checkId= (rule, value, callback)=>{
      let re=/^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/
      if (re.test(value)) {
          return callback();
      } else {
          return callback(new Error('请输入正确的身份证号码'));
      }
  }

  // 验证港澳身份证
  let checkHkCard = (rule, value, callback) => {
      let re=/^([A-Z]\d{6,10}(\(\w{1}\))?)$/;
      if (re.test(value)) {
          return callback();
      } else {
          return callback(new Error('请输入正确的港澳身份证号码'));
      }
  }

  //验证港澳身份证
  // function checkHkCard(str) {
  //     let re=/^([A-Z]\d{6,10}(\(\w{1}\))?)$/;
  //     if (re.test(str)) {
  //         return true;
  //     } else {
  //         return false;
  //     }
  // }



  //验证台湾身份证
  let checkTWCard = (rule, value, callback) => {
      let re=/^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/;
      if (re.test(value)) {
          return callback();
      } else {
          return callback(new Error('请输入正确的台湾身份证号码'));
      }
  }
  // function checkTWCard(str) {
  //     let re=/^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/;
  //     if (re.test(str)) {
  //         return true;
  //     } else {
  //         return false;
  //     }
  // }
  //验证护照
  let checkPassPortCard = (rule, value, callback) => {
      let re=/^([a-zA-z]|[0-9]){5,17}$/;
      if (re.test(value)) {
          return callback();
      } else {
          return callback(new Error('请输入正确的护照号码'));
      }
  }
  // function checkPassPortCard(str) {
  //     let re=/^([a-zA-z]|[0-9]){5,17}$/;
  //     if (re.test(str)) {
  //         return true;
  //     } else {
  //         return false;
  //     }
  // }
  //验证军官证
  let checkOfficerCard = (rule, value, callback) => {
      let re=/^([a-zA-z]|[0-9]){5,17}$/;
      if (re.test(value)) {
          return callback();
      } else {
          return callback(new Error('请输入正确的军官证号码'));
      }
  };
  // function checkOfficerCard(str) {
  //     let re=/^([a-zA-z]|[0-9]){5,17}$/;
  //     if(re.test()) {
  //         return true;
  //     } else {
  //         return false;
  //     }
  // }
  //验证户口本
  let checkAccountCard = (rule, value, callback) => {
      let re=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
      if (re.test(value)) {
          return callback();
      } else {
          return callback(new Error('请输入正确的户口本号码'));
      }
  }
  // function checkAccountCard(str) {
  //     let re=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  //     if(re.test(str)) {
  //         return true;
  //     } else {
  //         return false;
  //     }
  // }

  //验证手机号
  function checkIphon(str) {
      let re=/^1(3|4|5|6|7|8|9)\d{9}$/;
      if(re.test(str)) {
          return true;
      } else {
          return false;
      }

  }
  // 验证字符串是否为邮箱
  function isEmail(str) {
      let re = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
      if (re.test(str)) {
          return true;
      } else {
          return false;
      }
  }

  // 验证字符串只能是数字、字母或下划线
  function isUserName(str) {
      let re = /^[a-zA-Z0-9_]{1,}$/;
      if(re.test(str)) {
         return true;
      } else {
          return false;
      }
  }

  // 验证字符串只能为数字或字母
  function isPassword(str) {
      let re = /^[a-zA-Z0-9]{1,}$/;
      if(re.test(str)) {
          return true;
      } else {
          return false;
      }
  }

  //固话+手机号
  let checkPhTel= (rule, value, callback)=>{
      let re=/^((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$/
      if (re.test(value)) {
          return callback();
      } else {
          return callback(new Error('请输入正确的手机号或固话'));
      }
  }

  //正整数
  let isPositiveInteger = (rule, value, callback) => {
        let re = /^([1-9]\d*|[0]{1,1})$/;
        if (re.test(value)) {
            return callback();
        }else {
            return callback(new Error('请输入正确数值'));
        }
  }

  let trimIsEmpty = (rule, value, callback) => {
      if(value.replace(/(^\s*)|(\s*$)/g, "") == "") {
          return callback(new Error('必填项不能为空'));
      } else {
          return callback();
      }

  }

